/**
 * @author joshua
 */

Ext.namespace('joshua.sucursales');
 
// joshua.sucursales.form

joshua.sucursales.tbar=[
	{
		text:'<b>Agregar</b>',
		iconCls:'building_add',
		tooltip:'Presione para ingresar a una nueva sucursal',
//		scope:this,
		handler: function(){
			//abrir el form para agregar
			joshua.sucursales.mostrarForm('insertar');
		}
	},'-',
	{
		text:'<b>Editar</b>',
		iconCls:'building_edit',
		tooltip:'Presione para editar una sucursal existente',
		handler: function(){
			var seleccionado= joshua.sucursales.getIdseleccionado();
			joshua.sucursales.mostrarForm('editar',seleccionado);
		}
	},'-',
	{
		text:'<b>Eliminar</b>',
		iconCls:'building_delete',
		tooltip:'Presione para eliminar a la sucursal seleccionada',
		handler: function (){
			seleccionado= joshua.sucursales.getIdseleccionado();
			if(seleccionado){
				Ext.MessageBox.confirm('Confirmar','Esta seguro que desea eliminar la sucursal seleccionada',
		 			function (btn){				
						if(btn=='yes'){
						//	var seleccionado= joshua.sucursales.getIdseleccionado();
							Ext.Ajax.request({
							  url:joshua.url,
							   params: {txtId:seleccionado,cmd:'eliminar',className:'Sucursal'},
							   success:function (){
				   					joshua.sucursales.grid.store.reload({params:{start: 0,limit:joshua.PAGINA_CUANTOS}});// condiciones:'{"txtId":"'+respuesta.id+'"}'}});
							   }
							});//eo ajaxrequest			
						}
		//			this.storeCombox.reload();
		   		 },this);//eo msg box 
			}else
				Ext.Msg.alert('Aviso','<b>Debe selecionar una sucursal para eliminar!</b>');
		}
	},'-'
];


joshua.sucursales.tabs={
	xtype:'tabpanel',
	plain:true,
	activeTab: 0,
	height:170,
	deferredRender:false,
	defaults:{bodyStyle:'padding:10px'},
	
	items:[{
		title:'Datos Obligatorios',
		iconCls: 'bitacora',
		layout:'form',
		defaults: {width: 200},
		defaultType: 'textfield',
		items: [{
			xtype: 'combo',
			fieldLabel: 'Prefijo',
			name: 'slt_prefijo',
			id: 'slt_prefijo',
			store: [['OLA', 'OLA'], ['EP', 'EP']],
			typeAhead: true,
			triggerAction: 'all',
			selectOnFocus: true,
			allowBlank: false,
			editable: false
		}, {
			xtype: 'textfield',
			fieldLabel: 'Nombre',
			name: 'txt_nombre',
		    allowBlank:false,
			maxLength:30,
			vtype: 'capitalize'
		}]},
		joshua.persona.datos_direccion,joshua.persona.datos_telefono]
};

joshua.sucursales.form=Ext.extend(Ext.FormPanel,{
	labelWidth: 100,
	url:joshua.url,
	frame:true,
//	width: 270,
	height:170,
 	cmd:'',
	idActualizar:'',

	//	sltSucursal:new joshua.sucursales.SucCombox({fieldLabel: 'Sucursal'}),
 	initComponent:function(){

		var config={
			items:joshua.sucursales.tabs		
		};//fin config

		Ext.apply(this,Ext.apply(this.initialConfig,config));		
				
		joshua.sucursales.form.superclass.initComponent.apply(this,arguments);
 	},
 	
 	onRender:function(){
 		joshua.sucursales.form.superclass.onRender.apply(this,arguments);

 	//	this.getForm().waitMsgTarget=this.getEl(); 		
 	},//fin onRender
 	
	guardarForm:function(o){
		//establecemos el md5
		if (this.getForm().isValid()) {
			var w=this;
		//	alert(w.idActualizar+" "+joshua.sucursales.formulario.idActualizar);
			this.getForm().submit({
				url:"Servicios/s.php",
				params:{
					cmd:this.cmd,
					txtId:this.idActualizar,//
					className:'Sucursal'
				},
				success:function (){
					joshua.sucursales.grid.store.reload({params:{start: 0,limit:joshua.PAGINA_CUANTOS}});// condiciones:'{"txtId":"'+respuesta.id+'"}'}});
			    	joshua.sucursales.ventana_forms.hide();
				}, 
				waitMsg:'Guardando...'
			});
		}else
		{
			alert("Faltan datos por completar o algunos no son validos");
		}
	
 	},//eo guardarForm
 	

 	cargarForm:function(id){ 
		//se le asocia el mensaje de "cargando..."
		this.getForm().waitMsgTarget=this.getEl(); 		 		
		
 		this.load({
 			url:joshua.url,
 			scope:this,
 			params:{cmd:'cargar',txtId:id,className:'Sucursal'},
 			waitMsg:'Cargando...'
		//	success:function(){
		//		this.joshua.sucursales.store.load(); 				
		//	}
 		});
 	},//fin cargar
 	limpiarForm:function(){
 		this.getForm().reset();
 	}
});

joshua.sucursales.getIdseleccionado= function (){
	var sm= joshua.sucursales.grid.getSelectionModel();
	if(sm.hasSelection()){
		var sel= sm.getSelected();		
		return sel.data.id;
	}
	return false;
}

joshua.sucursales._crearFormVentana= function (){
	
	joshua.sucursales.formulario=new joshua.sucursales.form();


    joshua.sucursales.ventana_forms = new joshua.util.ventana({
//		title:'Agregar envio',
		width: 400,
//		iconCls:'envio_nuevo',
		height: 260,
		maximizable:false,
		resizable:false,
		modal:true,
		items:joshua.sucursales.formulario,
		buttons: [
				{
					text     : 'Guardar',
					iconCls: 'save',
					handler  : function(){
						joshua.sucursales.formulario.guardarForm();return ;
						if (joshua.sucursales.formulario.getForm().isValid()) {
							joshua.sucursales.formulario.getForm().submit({
								url:"Servicios/s.php",
								params:{
									cmd:joshua.sucursales.formulario._cmd,
									txtId:joshua.sucursales.formulario.id_sucursal,
									className:'Sucursal'
								},
								success:function (){
									joshua.sucursales.grid.store.reload({params:{start: 0,limit:joshua.PAGINA_CUANTOS}});// condiciones:'{"txtId":"'+respuesta.id+'"}'}});
							    	joshua.sucursales.ventana_forms.hide();
								}, 
								waitMsg:'Guardando...'
							});
						}else
						{
							alert("Faltan datos por completar o algunos no son validos");
						}
					}
				},
				{
					text     : 'Cancelar',
					iconCls: 'delete',
					handler  : function(){
				    	joshua.sucursales.ventana_forms.hide();
				}
			}]
	});	
}

//handle al presionar el boton agregar cliente o editar cliente
joshua.sucursales.mostrarForm= function (_cmd,id_sucursal){

	id_sucursal=(Ext.isEmpty(id_sucursal))?"":id_sucursal;

	if(joshua.sucursales.formulario==undefined){
		joshua.sucursales._crearFormVentana();
	}
	
	if(_cmd=="insertar"){
		joshua.sucursales.ventana_forms.setTitle("Agregar sucursal",'building_add');
		joshua.sucursales.formulario.cmd="insertar";
		joshua.sucursales.formulario.getForm().reset();
		joshua.sucursales.ventana_forms.show(this);
	}

	//editar un sucursal		
	else{
		if(id_sucursal!=undefined && id_sucursal){
			joshua.sucursales.formulario.cmd="editar";			
			joshua.sucursales.formulario.cargarForm(id_sucursal);
			joshua.sucursales.formulario.idActualizar=id_sucursal;
			joshua.sucursales.formulario.cmd="editar";
			joshua.sucursales.ventana_forms.setTitle("Editar sucursal",'building_edit');
			joshua.sucursales.ventana_forms.show(this);
		}
		else{
			alert("Por favor selecccione un sucursal para editar");
		}
	}

}




joshua.sucursales.configstore={
		url: 'Servicios/s.php',
		method: 'POST',
		root: 'data',
		autoLoad:true,
		baseParams:{cmd:'grid',className:'Sucursal'},
		totalProperty: 'numFilas',
	fields: [
		{name:'id', type: 'string'},			
		{name:'datos', type: 'string'}
	]
};
//var ven_sucur;	
joshua.sucursales.mostrarInterfaz =function (){

//	if(!ven_sucur){//joshua.sucursales.interfaz){
    // create the grid

	joshua.sucursales.store=new Ext.data.JsonStore(joshua.sucursales.configstore);
	    var pagingBar = new Ext.PagingToolbar({
        pageSize: 25,
        store: joshua.sucursales.store,
        displayInfo: true
	    });

//		joshua.sucursales.tbar,
    joshua.sucursales.grid = new Ext.grid.GridPanel({
		tbar:joshua.sucursales.tbar,//joshua.sucursales.combo_buscar_sucursal({emptyText:'sucursal...'}),
		region:'center',
	    store:joshua.sucursales.configstore,
	    columns: [
				 new Ext.grid.RowNumberer(),
			    {header: joshua.util.icono.credencial+' Datos generales', iconCls:'cliente_borrar', dataIndex: 'datos', sortable: true}],
		autoExpandColumn:1,
		bbar:pagingBar
	});
	
	
	return joshua.sucursales.grid;
	/*	
	ven_sucur= new joshua.util.ventana({//joshua.sucursales.interfaz = new joshua.util.ventana({
			title:'Sucursales',
			width: 420,
			id:'win_sucursales',
			iconCls:'sucursal',
			height: 540,
			maximizable:false,
			resizable:false,
		    items       : joshua.sucursales.grid
		});
	}//fin de if
	ven_sucur.show(this);//joshua.sucursales.interfaz.show(this);
	*/
}